[
  { rabbit, [
      { loopback_users, [] },
{% for key, value in rabbitmq_port_bindings.items() %}
      { {{ key }}, [
{%    for _key, _value in value.items() %}
          { "{{ _key }}", {{ _value | int }} }{% if not loop.last -%},{%- endif %}

{%    endfor %}
        ]
      },
{% endfor %}
      { collect_statistics_interval, {{ rabbitmq_collect_statistics_interval }} },
      { ssl_options, [
          { certfile, "{{ rabbitmq_ssl_cert }}" },
          { keyfile, "{{ rabbitmq_ssl_key }}" },
{% if rabbitmq_user_ssl_ca_cert is defined -%}
          { cacertfile, "{{ rabbitmq_ssl_ca_cert }}" },
{% endif %}
          { versions, [
              'tlsv1.2',
              'tlsv1.1'
            ]
          },
          { verify, verify_none },
          { fail_if_no_peer_cert, false }
        ]
      },
      { vm_memory_high_watermark, {{ rabbitmq_memory_high_watermark }} }
{%- if rabbitmq_cluster_partition_handling != 'ignore' -%}
,
      { cluster_partition_handling, {{ rabbitmq_cluster_partition_handling }} }
{%- endif -%}
{%- if rabbitmq_hipe_compile | bool -%}
,
      { hipe_compile, true }
{% endif %}
    ]
  },
  { rabbitmq_management, [
      { rates_mode, {{ rabbitmq_management_rates_mode }} },
      { listener, [{ip, "{{ rabbitmq_management_bind_address }}" }]}
    ]
  },
  {kernel, [
     {inet_dist_use_interface, { {{ rabbitmq_management_bind_address|replace('.',',') }} } }
  ]},
  {mnesia, [{dump_log_write_threshold, {{ mnesia_dump_log_write_threshold }} }]}
].
